/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servidormemory;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author DAM110
 */
public class Servidor extends Thread{
    
    ServerSocket servidor;
    private Socket cliente;
    private boolean continuar = true;
    private boolean finalizado = false;

    public Servidor() {
        try {
            
            this.servidor = new ServerSocket(6000);
        } catch (IOException ex) {
           
            
            Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public Servidor(int puerto) {
        try {
            this.servidor = new ServerSocket(puerto);
        } catch (IOException ex) {
            Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    @Override
    public void run(){
        
        iniciarServer();
    }
    
    public void iniciarServer(){
        
        
        while(continuar){
        try {
            
                cliente = servidor.accept();   
                System.out.println("Conectado");
                new AtenderCliente(cliente).start();
            
        } catch (IOException ex) {
               
                iniciarServer();
        }
        }
        try {
            servidor.close();
        } catch (IOException ex) {
            Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
        }
       
        
        finalizado = true;
        
        GestionarEstado.setLEstado("Parado");
    }

    public void setContinuar(boolean continuar) {
        
        this.continuar = continuar;
    }
    
    public boolean finalizado(){
        
        return finalizado;
    }

    public boolean isContinuar() {
        return continuar;
    }
    
    
}
